/**
 *
 */
package com.whosly.api.enums;

import java.util.Set;

import com.google.common.collect.Sets;
import com.whosly.api.enums.core.IEnumType;

import lombok.Getter;

/**
 * 操作系统类型
 *
 * @author yueny09 <deep_blue_yang@163.com>
 *
 * @DATE 2017年3月13日 下午9:59:15
 *
 */
public enum OsType implements IEnumType {
	/**
	 * Linux
	 */
	LINUX("Linux"),
	/**
	 * Mac
	 */
	Mac("Mac OS", "Mac OS X"),
	/**
	 * Solaris
	 */
	SOLARIS("Solaris"),
	/**
	 * SunOS
	 */
	SUN_OS("SunOS"),
	/**
	 * Windows
	 */
	WINDOWS("Windows", "Windows XP", "Windows 8.1");

	/**
	 * 若匹配不成功，默认返回LINUX
	 */
	public static OsType byValue(final String value) {
		for (final OsType t : values()) {
			if (t.getValue().contains(value)) {
				return t;
			}
		}
		return OsType.LINUX;
	}

	/** value */
	@Getter
	private Set<String> value;

	OsType(final String... value) {
		this.value = Sets.newHashSet(value);
	}

}
